home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Source Code
/
Libraries
/
DCLAP 6d
/
dclap6d
/
Docs
/
Announce
next >
Wrap
Text File
|
1996-07-05
|
32KB
|
668 lines
Release 2.8 - 4/12/93
Original README below is followed by update info at end of this file.
***************************************************************************
*
* Release 2.0 of NCBI Software Toolkit Available
* 10/92
*
***************************************************************************
This is to announce the availability of release 2.0 of the NCBI
Software Development Kit. This includes the version of the ASN.1
specification which will be "frozen" for the next 12 months. No changes
will be made to data produced by NCBI which is incompatible with that
specification for one year. This means that the software in release 2.0
will be able to read and write NCBI data for one year as well without
change.
We expect to adding functionality to the software tools over the course
of this year, and these additions will be made part of periodic software
releases. However, if you do not care for the additional functionality
you do not need to change your software.
In six months we will solicit and propose changes in the ASN.1
specification for next year. In nine months we will freeze the proposals
and produce sample data files and software that conforms to the new spec.
In twelve months we will begin producing data releases that conform to the
new spec.
Of course, in the event of an unforseen, catastrophic bug, we will be
forced to make an emergency release, but we will do everything in our
power to avoid this. And, there are always new releases of operating systems
and compilers, which may uncover or create new problems, but unfortunately
this sort of thing is beyond our control. However, it is in our interest
(and yours) to keep this to an absolute minimum, and that is what we will
do.
The release is available for anonymous ftp from ncbi.nlm.nih.gov.
cd toolbox\ncbi_tools
bin
get ncbi.tar.Z
quit
There is also a self-extracting Mac version (ncbi.sea.hqx) and a self-
extracting PC version (ncbiZ.exe) in the same directory. All three versions
contain source code for ALL supported hardware platforms.
In toolbox\vms_utils are a readme file and source code for a number
of utilities to facilitate transfer of the source code onto VMS systems.
The documentation has not caught up with the software and specification.
However, now that it is frozen, documentation writing has begun. It will
be announced on BITS when it is complete.
The README file from ncbi.tar.Z follows:
Release 2.8 - Update history at end of this file.
Introduction
This distribution is release 2.0 of the NCBI core library for building
portable software, and AsnLib, a collection of routines for handling ASN.1
data and developing ASN.1 software applications. AsnLib and the asntool
application are built using the CoreLib routines. This software supports
release 1.0 of the Entrez cdrom.
The lowest layer of code is the CoreLib [chapter 2]. These are multi-
platform functions for memory allocation (including byte stores), string
manipulation, file input and output, error and general messages, and
time and date notification. These functions have been written only
where we found that the existing ANSI functions were not sufficiently
multi-platform or well- behaved among all of the platforms that we
support. For each platform (a combination of processor, operating
system, compiler, and windowing system), we supply a specific ncbilcl.h
file, which contains typedefs and defines for multi-platform symbols,
and includes a number of standard header files. (For example,
ncbilcl.msw is used for the Microsoft C compiler under Microsoft Windows
on the PC.) Use of these symbols, and of the functions in the CoreLib,
allow us to write multi-platform source code for a variety of disparate
platforms.
The next layer of code is the AsnLib stream reader [chapter 5]. This is
used in conjunction with a header file and a parse table loader file,
both of which are produced by processing the formal ASN.1 specification
with the AsnTool application [chapter 4]. The symbolic defines in the
header file are pointers into the parse table, in which the ASN.1
specification is represented. To read at the stream reader level, a
program alternates between calls to AsnReadId and AsnReadVal. AsnReadId
returns a pointer into the parse table, which can be compared against
the defines in the AsnTool-generated header. For example, in the
specification for MEDLINE records, the Medline-entry section has an item
called "uid", for the unique ID of the record. This is symbolized in
the header file as MEDLINE_ENTRY_uid. When AsnReadId returns this
symbol, the program calls AsnReadVal to obtain the uid for that record.
AsnKillValue is also needed to free any memory allocated by AsnReadVal,
which occurs when the value is a string and not an integer. The entire
set of records on the Entrez CD-ROM can be read as a single stream with
the AsnLib functions.
The ASN.1 records may be accessed at a higher level through the object
loaders [chapter 6], which utilize the stream processing functions to
load C memory structures with the contents of the ASN.1 objects. For
each ASN.1 object we specify, we also define an equivalent C memory
structure. The object loader level of code contains functions to read
and write each ASN.1 object. These are hierarchical, as are the ASN.1
specifications. Calling the top level loader, SeqEntryAsnRead, will
load an entire SeqEntry from an open AsnIo channel, and will return a
pointer to the loaded memory structure. The read function for an AsnIo
channel can be swapped to refer to a normal disk file, a network socket,
or to compressed data, which it automatically decompresses. The object
loader code can interconvert between the highly-branched memory object
and a linear ASN.1 message with complete fidelity. The object loaders
have additional functions, including the ability to explore the
structure and notify the program when particular data elements are
encountered. The entire contents of the Entrez CD-ROM can also be
streamed through the object loaders. However, most calls to the object
loaders for simply reading a particular record are done via the data
access functions (see below).
The data access functions allow a program to call the object loaders on
a sequence or MEDLINE record given the uid of the record [chapter 7].
This will get the data into memory regardless of whether the data are
compressed on the Entrez CD-ROM or are obtained through a service over
the Internet. This means that a detailed understanding of the files and
formats on the Entrez disc is not needed by application programmers. The
function to load a sequence record, SeqEntryGet, needs the uid to
retrieve and a complexity code parameter. A sequence record is in the
form of a NucProt set. This contains a nucleotide (which may itself be
composed of segments) and all of the proteins it is known to encode.
The set of segments is called a SegSet, and the individual sequences are
called BioSeqs. We have taken the liberty of producing this integrated
view, but the complexity code parameter allows the record to be easily
loaded in a simpler, more traditional form, if desired. The accession
number term list is built to supply the proper uids to support this
facility. This access library is compatible with Entrez release 1.0 or
later only.
The sequence utilities and application programmer interface layer
[chapter 7] allows exploration of the loaded memory structures and
generation of standard literature or sequence reports from those
objects. For example, a BioSeq can be converted to FASTA or GenBank
flat file formats and saved to a file, and a MEDLINE record can be saved
in MEDLARS format, which is suitable for entry into personal
bibliographic database programs. A sequence port can be opened that
gives a simple, linear view of a segmented sequence, converting
alphabets, merging exon segments, and dealing with information on both
strands of the DNA. This layer also includes some functions to explore
the NucProt set. The explore functions visit each individual BioSeq in
the set, calling a callback function for each sequence node so that a
program can examine feature tables and other information that are
associated with the NucProt or SegSets or with the individual sequences.
Vibrant is a multi-platform user interface development library that runs
on the Macintosh, Microsoft Windows on the PC, or X11 and OSF/Motif on
UNIX and VAX computers [separate documentation]. It is used to build
the graphical interface for the Entrez application (whose source code is
in the browser directory). The philosophy behind Vibrant is that
everything in the published user interface guidelines (the generic
behavior of windows, menus, buttons, etc.), as well as positioning and
sizing of graphical control objects, is taken care of automatically.
The program provides callback functions that are notified when the user
has manipulated an object. Vibrant and Entrez code are not supported,
but are provided on an as-is basis.
The advantage of using AsnLib and the object loaders, as they are
implemented, is that application program developers merely need to
recompile their programs with the new (AsnTool-generated) header files
and load the new parse tables (included with the Entrez software) in
order to be able to read the new data. This process is straightforward,
and will not break existing program code. The application is free to
ignore new fields if it does not choose to take advantage of the new
kinds of information.
The documentation is currently being brought up to date. The programs
in the demo directory are designed to teach the proper use of many of
the functions discussed above. Many of these programs are not yet
documented. The simplest is testcore.c, which tests various functions
in the CoreLib. The most complex is getfeat.c, which takes an accession
number of locus name, determines the unique seq ID, retrieves the entry
from the Entrez CD-ROM using the data access library, locates all coding
region features using the explore functions, and prints the DNA
sequences of all exons using sequence port functions. If you cannot
extract and print the doc.tar.Z file, please send an email message with
your land mailing address and phone number to toolbox@ncbi.nlm.nih.gov,
and we will mail a copy to you.
The contents of the ncbi directory (the highest level, containing the
NCBI Software Development Kit source code in several subdirectories) is
shown below. The readme file contains instructions on copying the
appropriate make files to be built in the build directory. The makeall
file copies headers to the include directory builds four libraries
(ncbi, ncbiobj, ncbicdr and vibrant), copying them to the lib directory.
The makedemo file builds the demo programs and the Entrez application:
api Application Programmer Interface, Sequence Utilities
asn ASN.1 specifications for publications and sequences
asnlib Source code for AsnLib and asntool
asnload AsnLib headers and dynamic parse tables (Mac and PC)
asnstat AsnLib headers that use static memory (UNIX and VMS)
bin Asntool executable copied here
browser Source code for Entrez application
build Empty directory for building tools and libraries
cdromlib Access routines for data on the Entrez CD-ROM
config Configuration files for NCBI software:
dos
mac
unix
vms
win
corelib Source code for NCBI Core Software Library
data Data files used for sequence conversion
demo AsnLib and sequence utility demonstration programs
doc Documentation in ASCII files
include Include files required by applications are copied here
lib Libraries copied here
link Contains three subdirectories with build accessory files:
macmpw Macintosh MPW C
msdos Microsoft C and Borland C for DOS
mswin Microsoft C and Borland C for Windows
make Make files for various systems
network Network version of data access (to be added later)
apple
entrcli
entrserv
ncsasock
netmanag
nsclilib
nsconfig
nsdaemon
nsdemocl
object Functions for reading and writing complex objects
readme File that contains important building instructions
vibrant Source code for Vibrant portable interface package
The platforms that are supported (as indicated by the suffix on the
relevant ncbilcl.h file) are shown below. Those marked with an asterisk
(*) are available as-is:
370* IBM 370
acc SUN acc compiler
alf DEC Alpha under OSF/1
aov DEC Alpha under AXP/OpenVMS
aux* Macintosh A/UX
bor Borland for DOS
bwn Borland for Microsoft Windows
ccr CenterLine CodeCenter
cpp SUN C++
cra* Cray
cvx* Convex
gcc Gnu gcc
hp * Hewlett Packard
mpw Macintosh Programmer's Workshop
msc Microsoft C for DOS
msw Microsoft for Windows
nxt* NeXT
r6k* IBM RS 6000
sgi Silicon Graphics
thc THINK C on Macintosh
ult DEC ULTRIX
vms DEC VAX/VMS
Questions or comments can be directed to toolbox@ncbi.nlm.nih.gov.
It is our intent that the ASN.1 specifications [chapter 3] will be
frozen for at least 12 months (through September of 1993). As molecular
biology progresses, new features (e.g., RNA editing) will need to be
represented in the ASN.1 specifications. Proposed additions will be
made available for evaluation (with code and sample records included) in
April of 1993, and the specifications will be finalized in July of 1993.
Changes will be made with every effort given to backward compatibility
with data. We expect to add only new choices and optional fields.
Existing records will thus continue to be valid instances of the new
specification, eliminating the need for us to reprocess the databases.
While we feel confident we can to hold to this schedule, we hope users
will understand if events force us to make an interim release of some sort.
In addition, we will make releases of software with additional features over
the next year, but the use of such releases will be at the option of the
software developer.
ANSI C:
This software requires an ANSI C compiler. This will be no problem at
all except to people on Sun machines, where the bundled C compiler, cc, is
non-ansi. However, you can use the Sun unbundled compiler, acc, or the Gnu
compiler, gcc (which is free) and that works just fine. If you have written
applications on the Sun with non-ANSI functions, the ANSI compilers will
complain. See the notes below if this is a problem.
Installation
ALL -
change to the build subdirectory
MS-DOS
(Also see NEW MAKEFILES, below)
Microsoft C version 7.00
copy ..\make\*.dos
ren makeall.dos makefile
nmake MSC=1 [note: nmake requires windows or DPMI]
copy ..\config\ncbi.dos ncbi.cfg
check paths in ncbi.cfg file
[see section on CONFIGURATION]
Optional:
edit AUTOEXEC.BAT with "set NCBI=[path to directory containing
ncbi.cfg".
reboot to activate
To make demo programs:
nmake -f makedemo.dos MSC=1
Microsoft Windows version 7.00
copy ..\make\*.dos
ren makeall.dos makefile
nmake MSW=1 [note: nmake requires windows or DPMI]
check paths in "ncbi.ini" as above
copy ncbi.ini to your windows directory
To make demos:
nmake -f makedemo.dos MSW=1
Borland C++ 3.1
copy ..\make\*.dos
ren makeall.dos makefile
make -DBOR
then set paths as in Microsoft C, above.
To make demos:
make -f makedemo.dos -DBOR
Borland C++ 3.1 for Windows
copy ..\make\*.dos
ren makeall.dos makefile
make -DBWN
then set paths as in Microsoft Windows, above.
To make demos:
make -f makedemo.dos -DBWN
Mac
tested on THINK C 5.0.4 and MPW C 3.2
Both - copy config:mac:ncbi.cnf to your System Folder, or to the
System Folder:Preferences subfolder
edit the "ASNLOAD" line in "ncbi.cnf" to point to the
ncbi:asnload directory in this release
edit the "DATA" line to point to the ncbi/data directory
Think C - rename corelib:ncbimain.mac ncbimain.c
rename corelib:ncbienv.mac ncbienv.c
rename corelib:ncbilcl.thc ncbilcl.h
build separate projects, allocating .c files as described
in the makeall.thc document.
MPW C - copy make:makeall.mpw build:makeall.make
copy make:makedemo.mpw build:makedemo.make
set directory to build
build makeall
build makedemo
Unix
tested on Sun Sparc, Silicon Graphics, IBM 3090 with AIX
Sun (with gcc version 2.2 but not Vibrant)
cp ../make/*.unx .
mv makeall.unx makefile
make LCL=gcc CC=gcc RAN=ranlib
To make demos:
make -f makedemo.unx CC=gcc
Sun (with gcc version 2.2 with Vibrant)
cp ../make/*.unx .
mv makeall.unx makefile
source ../make/viball.gcc
To make demos:
source ../make/vibdemo.gcc
Silicon Graphics (no Vibrant)
cp ../make/*.unx .
mv makeall.unx makefile
[ edit makefile to delete make $(LIB4) ]
make LCL=sgi OTHERLIBS="-lm -lPW -lsun"
To make demos:
make -f makedemo.unx LCL=sgi OTHERLIBS="-lm -lPW -lsun"
Silicon Graphics (with Vibrant)
cp ../make/*.unx .
mv makeall.unx makefile
source ../make/viball.sgi
To make demos:
source ../make/vibdemo.sgi
Other UNIX: AIX, ULTRIX, NeXt, Sun acc, DEC Alpha OSF/1
Follows models above. Read header in makeall.unx and makedemo.unx
for details. Look at viball.* and vibdemo.* for model shell scripts for
Vibrant versions.
for all UNIX, edit .ncbirc as described above for MSC.
optional edit .login to "setenv NCBI=[path to .ncbirc file"
VMS (without Vibrant) on VAX
$set def [ncbi.build]
$copy [-.make]*.dcl *.com
$@makeall
check ncbi.cfg as described above for MSC.
edit LOGIN.COM to "define NCBI [path to ncbi.cfg file]"
To make demos:
$@makedemo
VMS (with Vibrant) on VAX
$set def [ncbi.build]
$copy [-.make]*.dcl *.com
$@viball
check ncbi.cfg as described above for MSC.
edit LOGIN.COM to "define NCBI [path to ncbi.cfg file]"
To make demos:
$@vibdemo
Testing
VMS only: look in rundemo.dcl in [make] to see how to give command
line arguments. Not all demo programs are shown. Run at least testcore.
All else:
In build should be a program called testcore. Type "testcore -" and
it should show you some default arguments. Type "testcore" and it will
run through a variety of functions in CoreLib, prompting you for responses
along the way. It should run without a crash or error report. If you made
Vibrant versions all demos will have startup dialog boxes. If not, they
take command line arguments.
If testcore runs, read the documentation for CoreLib and for AsnLib.
In the AsnLib documentation are instructions for running asntool itself.
for running a few of the demo programs. There are a large number of demo
programs now (including Entrez itself, if you made the Vibrant versions).
CONFIGURATION OR SETTINGS FILES:
One of the fundamental problems in writing portable software concerns
configuration issues. Each individual user's computer will have its own
particular hardware and software environment, and each machine will have
its disk file hierarchy set up in a unique manner. A program that needs
accessory information, such as help files, parse tables, or format
converters, must be given a means of finding the data regardless of where
the user has placed the files. The difficulty is compounded by the different
conventions for naming files and specifying paths on each class of machine.
For example, the name of a CD-ROM on the Macintosh is fixed, determined by
information on the CD itself, whereas on the PC it is addressed by a drive
letter, which can be assigned by the user, but which cannot be reconciled
with the name the Macintosh sees.
An associated problem is that many programs will want to allow the user
to make persistent changes to parameters. These parameters typically involve
numbers or font specifications, but may also include paths to data files.
Some platforms supply such configuration information in preferences files,
others in environment variables. Manipulating these settings is platform
dependent, as is the format in which the preference is specified.
The NCBI Software Toolkit core library addresses these problems by
providing configuration or settings files. These are modeled after the .INI
files used by Microsoft Windows. Settings files are plain ASCII text files
that may be edited by the user or modified by the program. They are divided
into sections, each of which is headed by the section name enclosed in square
brackets. Below each section heading is a series of key=value strings, somewhat
analogous to the environment variables that are used on many platforms.
The ncbi configuration file supplies general purpose configuration
information on paths for commonly used data files. The typical file set up for
the Entrez application running on the PC under Microsoft Windows is shown below:
[NCBI]
ROOT=D:
ASNLOAD=C:\ENTREZ\ASNLOAD\
DATA=C:\ENTREZ\DATA
The only section is entitled NCBI. The ROOT entry refers to the path to
the Entrez CD-ROM. In this example, the user has configured the machine to
use drive letter D. (On the Macintosh, the name of the disc is SEQDATA, which
cannot be changed by the user.) The ASNLOAD specifies the path to the ASN.1
parse tables. These files are required by the AsnLib functions, and all
higher-level procedures that call them, including the Object Loader, Sequence
Utility, and Data Access functions. Files pointed to by the DATA entry contain
information necessary to convert biomolecule sequence data into different
alphabets (e.g., unpacking the 2-bit nucleotide code stored on the Entrez CD
into standard IUPAC letters).
Although the contents of a configuration file is similar regardless of
platform, the name of the file and its location is platform dependent. If the
base name of the configuration file is xxx, then the actual file name is shown
below for each platform:
Macintosh xxx.cnf
Microsoft Windows xxx.INI
MS-DOS (without Windows) xxx.CFG
UNIX .xxxrc
VMS xxx.cfg
Samples of such files are in subdirectories of \config. The UNIX version
does not have the leading '.' in filename so you can see it. Since VMS and
DOS both use the same file name (ncbi.cfg) the DOS version was called ncbi.dos.
You will have to rename it. Remember these are just models. You will have to
set the paths appropriately for your machine yourself.
The location in which these files must reside is also platform dependent,
and the functions that manipulate the contents may look in several places to
find these files.
On the Macintosh, the function first looks in the System Folder, then in the
Preferences folder within the System Folder. Under Microsoft Windows, the file
must be in the Windows directory, along with all of the other .INI files. Under
DOS without Windows, the function first looks in the current working directory,
then in the directory whose path is specified in the NCBI environment variable.
Under UNIX and VMS, the current working directory is first checked, then the
user's home directory, and finally the directory specified by the NCBI environment
variable. (Under UNIX, when it uses the environment variable, it will check for
configuration files first without and then with the initial dot.) On the multi-
user platforms (UNIX and VMS), the use of the NCBI environment variable allows a
common settings file to be used as the default by multiple users. If such a
settings file is changed under program control, it is copied over into the user's
home directory, and the new copy is modified. The order of searching for settings
files ensures that this new copy is used in all subsequent operations.
contents of ASNLOAD are in ncbi/asnload
contents of DATA are in ncbi/data
MAJOR CHANGES FROM DOCUMENTATION:
AsnNode structures have proved to be generally useful and moved from AsnLib
to ncbimisc. In addition, some elements of structs used in the object loaders
were called "class" to match the ASN.1 names. Class is a C++ reserved word,
so all instances of "class" have been changed to "_class".
To conform to our naming conventions, we have changed the names appropriately:
AsnValue = DataVal
AsnNode = ValNode
class = _class
A global search and replace of your code with these strings (not restricted
to words... we want to change AsnNodePtr = ValNodePtr as well) should fix
any problems. Field names within structures have not been changed. If your
code uses only the object loaders, you may not find these strings in your
code at all.
DATA ACCESS LIBRARIES
cdromlib contains data access routines compatible with release 1.0-6.0
of the Entrez CDROM. The documentation for these functions are out of
date. The routines in cdromlib have been split into entrez, sequence, and
medline access functions. The interface you should normally program to is
defined in accentr.[ch], accseq.[ch], and accml.[ch]. The form of this
calls has been changed to make them compatible with the NCBI network server,
a client/server version of data access. A program written to use these
calls can access the the cdrom data, the network data, a combination, or
that plus a local database by just fiddling with defines. The form of the
api for these functions has also been changed to hide the details of storage
and caching more so that the different optimizations done to support cdrom
and network access are transparent to the application programmer. The end
user tool called "Entrez" now uses these libraries as it's only means of
data access (i.e., you can write an application of your own with any or all
of Entrez's functionality using just these routines).
DOCUMENTATION
We are rewriting the documentation to conform with all the new features
contained in this software. We will add it to the package as soon as possible.
DEMO PROGRAMS
As in the tools, there are a number of undocumented programs in the demo
directory as well, that use a number of the utility functions in api. There
is also a demo program called "getseq" in the cdromlib directory which
retrieves a sequence from the cdrom given any valid sequence id. These will
be described in more detail in the next set of documentation. Briefly:
asn2gnbk.c converts ASN.1 to GenBank flatfile
asn2rpt.c converts ASN.1 to human readable report
dosimple.c converts ASN.1 to a "simple sequence"
getseq.c gets sequence from Entrez Cdrom using data access library,
writes to disk
getfeat.c ditto, but writes sequence of any CdRegion features to
"test.out"
getmesh.c documented
getpub.c documented
indexpub.c documented
seqtest.c reads ASN.1 sequence, converts to iupac, reports segmented
sequences, outputs fasta format to seqtest.out
testcore.c documented
testobj.c tests Medline object loader, demonstrates error checking using
NULL asnio stream.
entrez If Vibrant is installed, the full Entrez program is made.
asndhuff Demonstrates streaming ASN.1 data from the huffman compressed
Entrez CDROM (only works on release 1.0 or later).
Update History of this release from 2.0
Release 2.8 - 4/12/93
many small fixes and improvements
performance improvements in cdromlib
vibrant improvements
improvements to toreport and togenbk
Release 2.7 - 3/12/93
continued refinement of access functions
accentr made "stand-alone" with no dependency on accml, accseq
See changes in demo program, getseq.c
minor bug fixes in object loaders
refinements in tognbk
many improvements and refinements to vibrant
bug fix to asnlex.c for piping text asn1 streams
changed SeqFeat.except to SeqFeat._except to avoid reserved word in
Win32
Release 2.6 - 2-16-93
much internal rearrangement of access functions at low levels to
accommodate 2 cdrom, and network data access. Invisible to
applications
access.doc - a brief writeup on data access and exploring in /doc
improvements to toreport and tognbk for more sequence data sources
Release 2.5 - 1-4-93
many small fixes and improvements
asnlib: added generic copy (through file) AsnIoCopy(), copy (in memory)
AsnIoMemCopy(), and compare in memory, AsnIoMemComp() for any object
define in object/*.h
vms version: (Will Gilbert)
a new Makefile which compiles the sources from there native directory
This version also checks to see if the user's system has the proper
include file to make the vibrant library.
Support for OpenVMS on DEC Alpha machine added.
data access libraries:
Changed data access library so that CD-only, network only, or Net+Cd
may be built from the same baseline.
Eliminated memory leaks in data access library.
environment:
Modified ncbienv.* so that GetAppParam() holds the last-read configuration
file in a cache. Also modified GetAppParam() and SetAppParam() so that
they can read all the keys in a section, or destroy a section, if the
key parameter is NULL.
files:
Modified ncbifile.c so that EjectCd() takes the raw device name as an
extra parameter.
configuration files:
Added VMS ncbi config files for the various multi-CD/hard disk configurations,
and moved all ncbi and entrez config files into their appropriate config
subdirectories (vms, unix, win, etc.).
demo programs:
Will Gilbert added many tutorial comments to getseq.c, getfeat.c, and
seqtest.c
Release 2.4 - 12-3-92
sequtil.c - improvements to BioseqContextGetSeqFeat() and SeqIdPrint().
toreport.c - improvements for PDB data
togenbnk?.c - improvements for unusual ASN.1
objloc.c - bug fix in reading release date for PDB id.
seqport.c - addition of translation routine given CdRegion
data access libraries -
support for pre-release 0.6 removed
support for multiple CDROM's (Entrez:Sequences and Entrez:MEDLINE) at
once.
vibrant - performance improvements
Release 2.3 -
ncbimain.xxx - GetArgs now handles negative numbers correctly
Release 2.2 - 10-29-92
objfeat.c - write to uninitialized memory when reading a tRNA feature
which contains codon, but no amino acid transferred.
Release 2.1 - 10/22/92
ncbifile.c - VMS open did not work correctly on CDROM.
objseq.c - Seq-hist incorrectly read